package edu.northwestern.cbits.purplewatch; import java.util.List; import java.util.UUID; import org.json.JSONException; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.util.Log; import com.getpebble.android.kit.PebbleKit; import com.getpebble.android.kit.PebbleKit.PebbleDataLogReceiver; public class MainActivity extends ActionBarActivity { private PebbleDataLogReceiver _receiver = null; private static UUID WATCHAPP_UUID = UUID.fromString("3cab0453-ff04-4594-8223-fa357112c305"); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override protected void onResume() { super.onResume(); Log.e("PW", "ON RESUME " + PebbleKit.isDataLoggingSupported(this)); PebbleKit.startAppOnPebble(this, WATCHAPP_UUID); if (this._receiver == null) { Log.e("PW", "CREATING RECV"); this._receiver = new PebbleDataLogReceiver(WATCHAPP_UUID) { @Override public void onReceive(final Context context, final Intent intent) { super.onReceive(context, intent); Log.e("PW", "INTENT: " + intent); } @Override public void receiveData(final Context context, UUID logUuid, final Long timestamp, final Long tag, final byte[] data) { Log.e("PW", "GOT DATA: " + data.length); List<AccelData> accels = AccelData.fromDataArray(data); for (AccelData accel : accels) { try { Log.e("PW", "A: " + accel.toJson().toString(2)); } catch (JSONException e) { e.printStackTrace(); } } } @Override public void onFinishSession(Context context, UUID logUuid, Long timestamp, Long tag) { super.onFinishSession(context, logUuid, timestamp, tag); Log.e("PW", "FINISHED"); } @Override public void receiveData(final Context context, UUID logUuid, final Long timestamp, final Long tag, final int data) { Log.e("PW", "TS: " + timestamp + " TAG: " + tag + " DATA: " + data); } }; } PebbleKit.registerDataLogReceiver(this, this._receiver); PebbleKit.requestDataLogsForApp(this, WATCHAPP_UUID); // this.registerReceiver(this._receiver, filter); } @Override protected void onPause() { super.onPause(); Log.e("PW", "UNREGISTER RECV"); PebbleKit.closeAppOnPebble(this, WATCHAPP_UUID); this.unregisterReceiver(this._receiver); } }